HP 48GX |
|
Type | Programmable Scientific Graphing |
---|---|
Manufacturer | Hewlett-Packard |
Introduced | 1990 |
Discontinued | 2003 |
Cost | 350$ |
Calculator | |
Entry mode | RPN |
Precision | 12 BCD digits, exp ±499 |
Display Type | LCD |
Display Size | 131×64 pixels |
CPU | |
Processor | Saturn |
Frequency | 2 to 4 MHz |
Programming | |
Programming language(s) | RPL / Machine Language |
User Memory | 128 kB |
Firmware Memory | 512 kB |
External Memory | Port 1 128 kB Port 2 4,000 kB |
Interfaces | |
Connection | 4-pin RS-232, Infrared |
Ports | Serial: Kermit (protocol) |
Other | |
Power supply | 3 x AAA battery 4.5V (1.5V each) |
Weight | 0.25 kg (0.55 lb) |
Dimensions | 17.9 x 7.9 x 2.8 cm (7.05 x 3.11 x 1.1 in) |
The HP-48 is a series of graphing calculators using Reverse Polish notation (RPN) and the RPL programming language, produced by Hewlett-Packard (HP) from 1990 until 2003. The series include the HP-48S, HP-48SX, HP-48G, HP-48GX, and HP-48G+, the G models being expanded and improved versions of the S models. The models with an X suffix are expandable via special RAM (memory expansion) and ROM (software application) cards. In particular, the GX models have more onboard memory than the G models. The G+ models have more onboard memory only. The SX and S models have the same amount of onboard memory.
Note that the similarly named HP-48GII (2004) is not really a member of the series, but rather much more closely related to the HP-49G and HP-49G+.
The hardware architecture developed for the HP-48 series became the basis for the HP-38G, with a simplified user interface and an infix input method, and the HP-49G with various software enhancements. Likewise, the hardware and software design of the HP-48 calculators are themselves strongly influenced by other calculators in the HP line, most of all by the HP-18C and the HP-28 series.
Contents |
The HP-48 series' Saturn microprocessor is a hybrid 64-bit / 20-bit CPU hardware-wise but acts like a 4-bit processor in that it presents nibble-based data to programs and uses a nibble-based addressing system. The main registers A, B, C, D, along with temp registers R0, R1, R2, R3, and R4 are a full 64-bits wide, but the data registers D0 & D1 are only 20-bit. External logical data fetches are transparently converted to 8-bit physical fetches. The processor has a 20-bit address bus available to code but due to the presence of the high/low nibble selection bit, only 19 bits are available externally.
In both the HP-48S/SX and G/GX series, the Saturn CPU core is integrated as part of a more complex integrated circuit (IC) package. These packages have codenames inspired by the members of the Lewis and Clark Expedition. The codename of the IC is Clarke in the S/SX, after William Clark, and Yorke in the G/GX, after Clark's manservant. The previous series of Saturn-based ICs were codenamed Lewis, after Meriwether Lewis.
The HP-48 series of calculators support a stack-based programming language named Reverse Polish Lisp (RPL), a combination of Reverse Polish Notation (RPN) and Lisp. RPL adds the concepts of lists and functions to stack-based programming, allowing the programmer to pass unevaluated code as arguments to functions, or return unevaluated code from a function by leaving it on the stack. In spite of the name, RPL resembles Forth more closely than Lisp.
RPL comes in two flavors: User RPL and System RPL. User RPL is the language that a user can program directly on the calculator. System RPL requires an external compiler; this may be done on the calculator with a third-party utility, or on another machine. The two languages vary mainly in the number of low-level operations available to them. User RPL does not expose any commands that do not check their arguments. Consequently, User RPL programs cannot normally crash the calculator (and are therefore slower than System RPL programs), whereas a System RPL program that invokes a command with incorrect arguments will almost certainly leave the calculator in a state which requires a full memory reset (occasionally referred to as a three-finger salute because it requires pressing the ON, the A, and the F keys on the calculator at the same time).
It is also possible to program the HP48 directly in Machine Language code. Books are available on this subject and some of them are freely available on the web (see external links).
Programmers working in System RPL or machine language most commonly work on an HP48 emulator because it is much quicker and easier to restore the state of a crashed emulator than to restore a crashed calculator.
|